perm filename TAPNEW.F4[MUS,LCS]1 blob sn#025758 filedate 1974-01-08 generic text, type T, neo UTF8
00100	C FEB 21,73 ****** COPIES .DMD FILES TO AND FROM TAPE FOR FURTHER PROCESSING.  *****
00200	C   LOAD WITH FSTUDP.REL  -- TYPE '-1' FOR FINAL NAME TO RETURN TO NAME #1.
00210	C   TYPE 'HELP' FOR INFO.
00300	C   TO ADD TO DATA ALREADY ON TAPE, TYPE 'END' AS NAME #1.
00500	C   TO RESTORE TO DSK, TYPE 'RESTORE'.  TO MOVE TO MIDDLE OF TAPE, TYPE
00600	C   'NAME   END'.  'NAME' WILL BE LAST FILE PASSED ON TAPE.
00700	C   'BACKSPACE' MOVES BACK TO START OF CURRENT FILE.
00800	C   'COPY' COPIES FROM MTA1 TO MTA0.
00900		DIMENSION JSB(1024)
01000		EQUIVALENCE (JSB(5),JSB5),(JSB(3),JSB3),(JSB(4),JSB4)
01100	100	FORMAT(' TYPE NAME #1'/)
01200	200	FORMAT(' TYPE FINAL NAME'/)
01300	300	FORMAT(2XA5,'   MAXAMP=',I5)
01400	400	FORMAT(A5,1XA5)
01500	500	FORMAT(' POSSIBLE COMMANDS:'/' END'/' NAME END'/' BACKSPACE'/
01550		1,' RESTORE'/' COPY (COPIES FROM MTA1 TO MTA0)'/' REWIND'/'
01575		1 --IF JUST NAMES ARE GIVEN, THEY WILL BE WRITTEN ON MTA0'/
01580		1' TYPE -1 TO BACKUP TO NAME #1'/)
01600	600	FORMAT(' MOVING TO END OF TAPE')
01700	800	FORMAT(' ******** REMEMBER MAXAMP NUMBER!!')
01800	700	FORMAT(A1)
01900	900	FORMAT(' WRITE ON MTA0??'/)
02000		RESTO=0
02100		COPY=0
02200		JNM='AAAAA'
02300	54	TYPE 100
02400		CALL GETTAP
02500		ACCEPT 400,NAME,NM2
02550		IF(NAME.NE.'HELP')GO TO 541
02560		TYPE 500
02570		GO TO 54
02600	541	IF(NAME.EQ.'BACKS')GO TO 440
02700		IF(NAME.EQ.'RESTO')RESTO=-1.
02800		IF((NAME.EQ.'END'.OR.NM2.NE.' ').AND.RESTO.EQ.0)GO TO 220
02900		IF(NAME.NE.'REWIN')GO TO 1201
03000		REWIND 16
03100		GO TO 54
03200	1201	IF(NAME.EQ.' ')NAME='MUSAA'
03300	2	JNM=JNM+((NAME-JNM)/256*256)
03400		KNM=JNM
03500	C   AUTOMATICALLY SETS BASIC NAME TO 'A' ENDING.
03600	1002	TYPE 200
03700		ACCEPT 400,NM2
03800		IF(NM2.EQ.'-1')GO TO 54
03900		IF(RESTO)GO TO 7
04000		IF(NM2.EQ.' ')NM2=NAME
04100		TYPE 900
04200		ACCEPT 700,K
04300		IF(K.NE.'Y')GO TO 54
04400		IF(NAME.EQ.'COPY')GO TO 777
04500	11	CALL GETFIL(NAME)
04600		CALL FASTIN(JSB(1),128)
04700		JSB4=9999
04800		JSB5=9998
04900		JSB3=NAME
05000		CALL TOTAPE(JSB(1),128)
05100		JSC=JSB(1)
05300	111	CALL FASTIN(JSB(1),JSC)
05400		CALL TOTAPE(JSB(1),JSC)
05500		IF(JSB(JSC).EQ.0)GO TO 111
05600	6	TYPE 300,NAME,JSB(JSC)
05700		IF(NAME.EQ.NM2)GO TO 22
05800		NAME=NAME+2
05900		IF(NAME.LE.JNM+50)GO TO 11
06000		JNM=JNM+256
06100		IF(JNM.LE.KNM+6400)GO TO 1017
06200		KNM=JNM+26112
06300		JNM=KNM
06400	C   RAISES 'AAAZA' TO 'AABAA'
06500	1017	NAME=JNM
06600		GO TO 11
06700	
06800	222	NAME=NM2
06900	22	JSB(1)=-1
07000		JSB3=NAME
07100		JSB4=9999
07200		JSB5=9998
07300		CALL TOTAPE(JSB(1),128)
07400	C    '-1' MARKS END OF THIS BATCH OF DATA.
07500	C    '9999' IDENTIFIES IT AS MUSIC DATA WHEN TAPE IS READ.
07600		CALL FINTAP
07700		CALL BACKSP
07800		CALL BACKSP
07900		TYPE 800
08000		CALL EXIT
08100	
08200	C   ***** NEXT MOVES TO END OF TAPE ****
08300	220	TYPE 600
08400		NM2=NAME
08500	210	CALL INTAPE(JSB(1),128)
08600		IF(JSB5.NE.9998)GO TO 210
08700		JSC=JSB(1)
08800		N=JSB3
08900		IF(JSC.NE.-1)GO TO 310
09000		NM2=' '
09100	230	TYPE 400,NM2,JSB3
09200		CALL BACKSP
09300		GO TO 54
09400	310	CALL INTAPE(JSB(1),JSC)
09500		IF(JSB(JSC).EQ.0)GO TO 310
09600		TYPE 300,N,JSB(JSC)
09700		IF(N.EQ.NM2)GO TO 54
09800		GO TO 210
09900	
10000	C   ***** NEXT BACKSPACES *****
10100	440	CALL BACKSPACE
10200		CALL BACKSPACE
10300		CALL INTAPE(JSB(1),128)
10400		IF(JSB4.NE.9999)GO TO 440
10500		NM2=' REDO'
10600		GO TO 230
10700	
10800	C   ***** NEXT RESTORES FILES TO DSK OR COPIES TAPE TO TAPE ******
10900	777	CALL MTA1
11000		COPY=-1.
11100	7	K=5
11200	77	IF(RESTO)CALL INTAPE(JSB(1),128)
11300		IF(COPY)CALL INMTA1(JSB(1),128)
11400		K=K-1
11500		IF(K)CALL EXIT
11600		IF(JSB(1).EQ.-1.OR.JSB4.NE.9999)GO TO 77 
11700		K=5
11800		JSC=JSB(1)
11900		KNM=' '
12000		N=JSB3
12100		IF(COPY)GO TO 88
12200		CALL PUTFIL(JSB3)
12300		CALL FASTOU(JSB(1),128)
12400		GO TO 8
12500	88	CALL TOTAPE(JSB(1),128)
12600	
12700	8	IF(COPY)GO TO 188
12800	 	CALL INTAPE(JSB(1),JSC)
12900		CALL FASTOU(JSB(1),JSC)
13000		GO TO 288
13100	188	CALL INMTA1(JSB(1),JSC)
13200		CALL TOTAPE(JSB(1),JSC)
13300	288	IF(JSB(JSC).EQ.0)GO TO 8
13400		TYPE 400,KNM,N
13500		IF(RESTO)CALL FINFIL
13600		IF(N.NE.NM2)GO TO 7
13700		IF(COPY)GO TO 222
13800		END